package pfc.taller.accesoBD.dao;

import java.sql.SQLException;
import java.util.Date;
import java.util.List;

import pfc.taller.accesoBD.servidorSQL.ServidorSql;
import pfc.taller.comun.Semana;
import pfc.taller.tablas.TCita;

import com.ibatis.sqlmap.client.SqlMapClient;


public class DAOCita implements IDAOCita
{

	@SuppressWarnings("unchecked")
	public List<TCita> getCitas() 
	throws SQLException 
	{
		SqlMapClient clienteSqlMap	= ServidorSql.getInstanciaSqlMap();
		List<TCita> citas			= clienteSqlMap.queryForList( "CITA.getCitas", null );
		
		return citas;
	}
	
	@SuppressWarnings("unchecked")
	public List<TCita> getCitasXSemana( Semana semana) 
	throws SQLException 
	{
		SqlMapClient clienteSqlMap	= ServidorSql.getInstanciaSqlMap();
		List<TCita> citas			= clienteSqlMap.queryForList( "CITA.getCitasXSemana", semana);
		
		return citas;
	}
	
	public void altaCita(TCita cita) throws SQLException 
	{
		SqlMapClient clienteSqlMap	= ServidorSql.getInstanciaSqlMap();
		clienteSqlMap.insert("CITA.nuevaCita", cita);
	}

	public void bajaCita(Date fecha) throws SQLException 
	{
		SqlMapClient clienteSqlMap	= ServidorSql.getInstanciaSqlMap();
		clienteSqlMap.insert("CITA.eliminarCita", fecha);
	}

	public void modificarCita(TCita cita) throws SQLException 
	{
		SqlMapClient clienteSqlMap	= ServidorSql.getInstanciaSqlMap();
		clienteSqlMap.insert("CITA.modificarCita", cita);
	}

	public TCita buscaCitaXMatricula(String matricula) throws SQLException 
	{
		SqlMapClient clienteSqlMap	= ServidorSql.getInstanciaSqlMap();
		TCita cita 					= (TCita)clienteSqlMap.queryForObject("CITA.getCitasXMatricula", matricula);
		
		return cita;
	}
}
